package fiuba.algo3.gpschallenge.gui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;

import fiuba.algo3.gpschallenge.Controlador.Controlador;
import fiuba.algo3.gpschallenge.modelo.Juego;

public class PanelSuperiorPuntajes extends JPanel {
		private Juego modelo;
		private Controlador control;
		private Agregable interfazAgregable;
		private  final int ANCHO = 700;
		private  final int ALTO = 50;
		
		public PanelSuperiorPuntajes (Agregable interfazM, Juego modelo, Controlador control) {
			setBorder(new LineBorder(Color.WHITE, 2));
			interfazAgregable = interfazM;
			this.modelo = modelo;
			this.control = control;
			setPreferredSize(new Dimension(ANCHO, ALTO));
			
			setBackground(Color.BLACK);
			setLayout(null);
			
			JLabel holaUsuario = new JLabel("Hola " + modelo.getJugador().getNombre());
			holaUsuario.setHorizontalAlignment(SwingConstants.LEFT);
			holaUsuario.setForeground(Color.WHITE);
			holaUsuario.setFont(new Font("Arial", Font.BOLD, 15));
			holaUsuario.setBounds(10, 11, 153, 28);
			add(holaUsuario);
			
			JLabel tituloSeccion = new JLabel("Puntajes");
			tituloSeccion.setHorizontalAlignment(SwingConstants.CENTER);
			tituloSeccion.setForeground(Color.LIGHT_GRAY);
			tituloSeccion.setFont(new Font("Algerian", Font.PLAIN, 18));
			tituloSeccion.setBounds(222, 7, 227, 39);
			add(tituloSeccion);
			
			JButton botonVolver = new JButton("Volver");
			botonVolver.setBackground(Color.LIGHT_GRAY);
			botonVolver.setFont(new Font("Arial", Font.BOLD, 15));
			botonVolver.setBounds(570, 11, 104, 27);
			add(botonVolver);
			botonVolver.addActionListener (new botonVolverMenuListener());
		}
		
		private void cargarMenuDeUsuario() {
			interfazAgregable.limpiarVentana();
			PanelMenuDeUsuario menuDeUsuario = new PanelMenuDeUsuario(this.interfazAgregable, this.modelo, this.control);
			PanelSuperiorMenuUsuario panelSuperiorMenu = new PanelSuperiorMenuUsuario(this.interfazAgregable, this.modelo, this.control);
			interfazAgregable.agregarComponente(panelSuperiorMenu, BorderLayout.NORTH);
			interfazAgregable.agregarComponente(menuDeUsuario, BorderLayout.CENTER);	
		}
		
		
		class botonVolverMenuListener implements ActionListener {
			@Override
			public void actionPerformed(ActionEvent e){
				cargarMenuDeUsuario();
			}
		}

}
